/**
  * Author: Mei
  * Date: 2020-11-21 9:07
  * Description: 
  *
  */
#include <iostream>
#include <vector>
#include <algorithm>
#include <memory>
#include <utility>
#include <functional>
#include <numeric>

using namespace std;

//单模板参数
template <typename T>
struct S_Tmp {
    T a;
    void play() {
        cout << "This is S_Tmp" << endl;
    }
};
//双模板参数
template <typename T, typename R>
struct D_Tmp {
    void play() {
        cout << "This is a D_Tmp" << endl;
    }
};
//定义一个以单参数类模板定位为参数的类模板
template <template <typename S>class T>
struct MyTest {
    T<int> test;
    void play() {
        test.play();
    }
};

int main() {
    MyTest<S_Tmp> tt1;
    tt1.play();



    return 0;
}